# 使用官方 Node.js 14 镜像
# 更多 Node.js 镜像: https://hub.docker.com/_/node
FROM node:lts-alpine3.19

# 创建 app 目录
WORKDIR /usr/src/app

# 安装 app 依赖
# 使用通配符来确保 package.json 和 package-lock.json 都被复制
# 可能存在 (package-lock.json 会被 npm 生成)
COPY . .

# 使用 npm 安装依赖
RUN npm config set registry https://registry.npmmirror.com
RUN yes | npm install


# 构建应用
RUN npm run build

# 拷贝所有源代码到工作目录
COPY ./dist .

# 暴露端口，与 Nest.js 应用的启动端口保持一致
EXPOSE 3000

# 运行应用
CMD [ "npm", "run", "start:prod" ]
